常见的嵌入式web服务器有哪些?
关注「嵌入式大杂烩」,星标公众号,一起进步!
嵌入式WEB服务器常见的有:Lighttpd, Shttpd, Thttpd, Boa, Mini_httpd, Appweb, Goahead。
Lighttpd
地址:
http://www.lighttpd.net/
LigHttpd是一个开源轻量级嵌入式Web server,是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。
lighttpd 适合静态资源类的服务,比如图片、资源文件、静态HTML等等的应用,性能应该比较好,同时也适合简单的CGI应用的场合,lighttpd可以很方便的通过fastcgi支持php。
Shttpd
地址:
https://www.oschina.net/p/shttpd?hmsr=aladdin1e1
Shttpd,开源。它是另一个轻量级的web server,具有比thttpd更丰富的功能特性,支持CGI, SSL, cookie, MD5认证, 还能嵌入(embedded)到现有的软件里。最有意思的是不需要配置文件!
由于shttpd可以轻松嵌入其他程序里,因此shttpd是较为理想的web server开发原形,开发人员可以基于shttpd开发出自己的webserver,官方网站上称shttpd如果使用uclibc/dielibc(libc的简化子集)则开销将非常非常低。
Thttpd
地址:
https://www.oschina.net/p/thttpd?hmsr=aladdin1e1
thttpd是一个简单,小型,可移植,快速且安全的HTTP服务器。Thttpd至少和主流的web server一样快,在高负载下更快,因为其资源占用小的缘故。Thttp是开源的,是用C语言编写的,使用的很多。
特点:
简单的:它仅处理实现HTTP / 1.1所需的最低要求。好吧,也许比最小值还多一点。
小的:它也具有非常小的运行时大小,因为它不会分叉,并且对内存分配非常小心。
便携的:它可以在大多数类似Unix的操作系统上干净地编译,特别是FreeBSD,SunOS 4,Solaris 2,BSD / OS,Linux,OSF。
快速地:在典型的用途中,它的速度与最佳的全功能服务器(Apache,NCSA,Netscape)差不多。在极端负载下,它的速度要快得多。
安全的:竭尽全力保护Web服务器计算机免受来自其他站点的攻击和入侵。
Boa
地址:
http://www.boa.org/
Boa服务器是一个小巧高效的web服务器,是一个运行于unix或linux下的,支持CGI的、适合于嵌入式系统的单任务的http服务器,源代码开放、性能高。
Boa是一种非常小巧的Web服务器,其可执行代码只有大约60KB左右。作为一种单任务Web服务器,Boa只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求。但Boa支持CGI,能够为CGI程序fork出一个进程来执行。Boa的设计目标是速度和安全。
Mini_httpd
地址:
https://www.oschina.net/p/mini-httpd
Mini_httpd是一个小型的HTTP服务器。开源,它的性能不强,但是它非常适合于中小访问量的站点。Mini_httpd和thttpd都是ACME Labs 开发的软件,功能没有thttpd强。
Appweb
地址:
https://www.embedthis.com/
Appweb 是下一代嵌入式web服务器,它天生是为嵌入式开发的,它的最初设计理念就是安全。Appweb是一个快速、低内存使用量、标准库、方便的服务器。与其它嵌入式web服务器相比,appweb最大特点就是功能多和高度的安全保障。Appweb简单、方便、开源。
GoAhead
https://www.embedthis.com/goahead/
GoAhead Webserver是为嵌入式实时操作系统(RTOS)量身定制的Web服务器。GoAhead Webserver是跨平台的服务器软件,可以稳定地运行在Windows,Linux和Mac OS X操作系统之上。GoAhead Webserver是开放源代码的,这意味着你可以随意修改Web服务器的功能。
这款WEB服务器非常小巧,它的WIN CE版本编译后的大小还不到60k,它的输出通常也是面向一些小屏幕设备。在性能方面,使用一颗24MH z的68040处理器,它的响应速度为20次/秒,使用266MHz的Pentium处理器可以达到50次/秒的响应速度。
本文来源网络,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。
嵌入式工程师的自我修养?
干货 | 如何榨干SysTick的每一滴汁水?
Linux GNU C 与 ANSI C 有什么区别?
长文 | 有C基础,如何快速过度到C++?
在公众号聊天界面回复1024,可获取嵌入式资源;回复 m ,可查看文章汇总。